home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Installation Tools & Overlays 1999 May
/
SGI IRIX Installation Tools & Overlays 1999 May - Disc 2.iso
/
relnotes
/
dmedia_dev
/
ch10.z
/
ch10
Wrap
Text File
|
1999-04-19
|
7KB
|
199 lines
- 1 -
10. _C_D__A_u_d_i_o__/__D_A_T__A_u_d_i_o__D_e_v_e_l_o_p_m_e_n_t__L_i_b_r_a_r_i_e_s
This chapter lists information about the CD audio and DAT
audio libraries included in the IRIS Digital Media
Development Environment. It includes changes, additions,
and bug fixes since the last release, and known problems and
workarounds.
_l_i_b_c_d_a_u_d_i_o provides a variety of functions to program
applications that make use of audio CDs in the CD-ROM drive.
It supports operating the CD-ROM drive as a stand-alone
player and also supports the transfer of digital audio data
across the SCSI bus. It also communicates with _m_e_d_i_a_d to
ensure that mediad and other programs do not interfere with
an audio application that is using the CD-ROM drive.
_l_i_b_d_a_t_a_u_d_i_o provides similar functions for programming
applications using commercial DAT-compatible audio tapes.
The DAT drive can't be used as a stand-alone player but
allows applications to read and write digital audio data
across the SCSI bus.
Applications linked with the DAT Audio Library must also be
linked with the Audio Utility Library. The linking order
is:
----llllccccddddaaaauuuuddddiiiioooo ----llllmmmmeeeeddddiiiiaaaadddd
The DAT and CD Audio Libraries are shipped as statically
linked libraries (/_u_s_r/_l_i_b/{_l_i_b_d_a_t_a_u_d_i_o._a, _l_i_b_c_d_a_u_d_i_o._a})
included in the _d_m_e_d_i_a__d_e_v._s_w._a_u_d_i_o subsystem of IRIS
Digital Media Development Environment 2.0.
The _I_R_I_S _D_i_g_i_t_a_l _M_e_d_i_a _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e contains an
introduction to programming with the CD and DAT Audio
Libraries.
The on-line man pages _C_D_i_n_t_r_o(3A) and _D_T_i_n_t_r_o(3A) provide
brief overviews of each of the libraries and list available
procedure calls.
10.1 _P_r_o_g_r_a_m_m_i_n_g__E_x_a_m_p_l_e_s
The directory /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_c_d+_d_a_t contains example
programs which read audio CD's and read/write audio format
DAT's.
- 2 -
The example program /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_c_d_t_o_d_a_t._c shows
how to read audio data from a CD and correctly record it to
an audio DAT. It takes an entire CD and digitally transfers
the data to DAT, providing correct program numbers, index
numbers, program-time, absolute-time, copy-protect bits, and
lead-in and lead-out areas on the tape. cdtodat should
produce tapes that conform to the DAT specification.
The example program /_u_s_r/_s_h_a_r_e/_s_r_c/_d_m_e_d_i_a/_v_e_r_i_f_y_d_a_t._c shows
how to verify that an audio DAT tape has been correctly
formatted, using calls to the DAT audio library and ioctls
to the magnetic tape device driver. Note that the program
is very strict about testing for conformance to the DAT
specification. Tapes produced by _c_d_t_o_d_a_t will pass this
test, however many tapes recorded on consumer DAT decks may
fail.
10.2 _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
+o _l_i_b_d_a_t_a_u_d_i_o does not yet have a high-level routine for
recording audio data to tape. To record to DAT you
need to create a DAT frame, as described in
_d_a_t_f_r_a_m_e(4), put the desired audio data into the frame,
and write the DAT frame to tape using _w_r_i_t_e(2).
The sample program _c_d_t_o_d_a_t._c described above provides
an excellent example of how to format DAT frames and
write them to tape.
+o DAT firmware problem: data tape at BOT.
Assume a DDS (data) tape (i.e. a tape previously
recorded in data mode) is inserted in the DAT drive.
The drive will rewind the tape to logical BOT, which on
a data tape is different than physical BOT. If you
attempt to write audio data to the drive, it begins
writing at logical BOT. When the tape is later re-
inserted into the drive, it is incorrectly recognized
as a data tape since DDS format data exists between
physical BOT and logical BOT.
Workaround: Check to see if the tape in the drive is
DDS media and at BOT. If so, in audio mode write a
frame of data to move the tape off logical BOT, then
issue a rewind. This will cause the tape to rewind
back to physical BOT.
- 3 -
+o DAT firmware problem: read position bug.
The DAT drive firmware incorrectly returns its position
via the MTGETAUDIO ioctl to the IRIX tape driver. There
are two modes to this behavior.
+o Immediately following a seek: Suppose you seek by
A-time (absolute time). Then MTGETAUDIO returns
the correct A-time, but incorrect P-time (program
time). Suppose you seek by P-time. Then MTGETAUDIO
returns the correct P-time, but incorrect A-time.
+o Following a read or write: Both A-time and P-time
are wrong.
Workaround: Read a frame from the tape and decode the
subcode information. This of course moves the tape, so
you may have to seek back to the previous
+o DAT firmware problem: read delay bug.
If not used for 60 seconds, the DAT drive unloads the
tape from the heads. Once this happens, subsequent
reads will fail.
Workaround: Avoid 60 second delays between subsequent
operations.
+o DAT firmware problem: write following read.
A write following a read is not frame-accurate. It may
go onto the tape several frames too early, overwriting
some of the data just read.
Workaround: None (because of the following bug).
+o DAT firmware problem: write following seek.
A write following a seek is not frame-accurate. About
50% of the time, a write following a seek will go onto
the tape a few frames early.
Workaround: None.